import Vue from 'vue'
import 'normalize.css/normalize.css' // 清除默认css样式

import ElEMENTUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control

Vue.use(ElEMENTUI, {
  i18n: (key, value) => {
    // console.log(key, value)
    return i18n.t(key, value)
  }
})

import GlobalComponentObj from '@/components'
Vue.use(GlobalComponentObj) // 注册自定义组件

import Directive from '@/components'
Vue.use(Directive)
// Vue.directive()

// 多语言配置
import i18n from '@/lang'
Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})

// const data = [
//   { id: '01', name: '张大大', pid: '', job: '项目经理' },

//   { id: '02', name: '小亮', pid: '01', job: '产品leader' },
//   { id: '07', name: '小丽', pid: '02', job: '产品经理' },
//   { id: '08', name: '大光', pid: '02', job: '产品经理' },

//   { id: '03', name: '小美', pid: '01', job: 'UIleader' },
//   { id: '09', name: '小高', pid: '03', job: 'UI设计师' },

//   { id: '04', name: '老马', pid: '01', job: '技术leader' },
//   { id: '05', name: '老王', pid: '01', job: '测试leader' },
//   { id: '06', name: '老李', pid: '01', job: '运维leader' },
//   { id: '10', name: '小刘', pid: '04', job: '前端工程师' },
//   { id: '11', name: '小华', pid: '04', job: '后端工程师' },
//   { id: '12', name: '小李', pid: '04', job: '后端工程师' },
//   { id: '13', name: '小赵', pid: '05', job: '测试工程师' },
//   { id: '14', name: '小强', pid: '05', job: '测试工程师' },
//   { id: '15', name: '小涛', pid: '06', job: '运维工程师' }
// ]

// function transTree (list, rootValue) {
//   const treeData = []

//   // 2. 对传入的数据进行格式化
//   list.forEach(item => {
//     // 3. 判断每一项的 pid 是否等于传入的顶级 pid 一致
//     if (item.pid === rootValue) {
//       // 4. 如果有一致的数据，在将当前这一项的 id 作为顶级对象传入 transTree
//       //    查看自己本身是否依然有子级分类，以此递归
//       const children = transTree(list, item.id)

//       // 5. 判断返回的 children 进行判断
//       //    如果返回空数组，说明没有子级分类，不做任何处理
//       if (children.length) {
//         item.children = children
//       }

//       // 6. 最终直接将当前数据 push 到treeData即可
//       treeData.push(item)
//     }
//   })

//   return treeData
// }

// // 1. 调用封装的 transTree，传递需要格式化的数据以及最顶级的 pid: '' 作为入口，开始进行遍历
// const treeData = transTree(data, '')
// console.log(treeData)

// Yxx make
